{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'和KNN一样，要进行数据标准化处理！！\\n涉及距离！！！！\\n'"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\"\"\"和KNN一样，要进行数据标准化处理！！\n",
    "涉及距离！！！！\n",
    "\"\"\"\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn import datasets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "iris=datasets.load_iris()\n",
    "from sklearn.model_selection import train_test_split"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "x=iris.data\n",
    "y=iris.target\n",
    "\"\"\"选用前两个特征，y选0和1 对应的分类\"\"\"\n",
    "X=x[y<2,:2]\n",
    "y=y[y<2]\n",
    "x_train,x_test,y_train,y_test=train_test_split(X,y,test_size=0.2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x21323aedeb0>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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26Zt27YpHA6roqJCBw8ezGLkdnv++ef12Wef6d577407xrXjZka/dxnhPvzwQ1NUVGT+67/+q2/ZcKdp+jt//rwpKysza9euzUCE3vbpp5+agoIC88tf/nLQ50ePHm02bdoUs+ypp54yRUVF2QjPc4bLZ3/sm1GjR4825eXlMcv+7u/+zsyaNSvuayZOnGh+9KMfxSx78cUXjSRz7ty5jMTpFankczDXX3+9ueuuu5wMzdNuvvlm861vfWvIMW4dN/lmJIMOHDigTz75RDNnztSoUaM0atQo7d69W//yL/+iUaNGxUwqimf06NGaMWOG3nvvvSxE7C1/9Ed/pG984xtxczNu3DidOnUqZtmpU6c0bty4bITnOcPlsz/2zaiSkhJdeeWVMcuuuOKKIU97xds/CwoKdPHFF2ckTq9IJZ+D+dM//VP2z/938uRJvfrqq1q2bNmQ49w6blKMZNCNN96o5uZmHTp0qO9xzTXXaPHixTp06JCCweCw79Hd3a3m5maVlJRkIWJvOXPmjI4fPx43N+Xl5dq1a1fMsp07d6q8vDwb4XnOcPnsj30z6rrrrou5ykiSfv/732vChAlxX8P+GV8q+RzMoUOH2D//34YNG1RUVKQFCxYMOc61/TKj37tggP6nae6++26zZs2avp8feugh8/LLL5vjx4+bAwcOmL/8y780eXl55siRIy5Ea5d/+Id/MG+88YY5ceKE2bt3r5k3b5754z/+Y/PJJ58YYwbmcu/evWbUqFHmscceM++++6558MEHzejRo01zc7Nbq2CVZPPJvhnff/7nf5pRo0aZf/qnfzLHjh0zzz77rBkzZozZuHFj35g1a9aYu+++u+/n999/34wZM8asXLnSvPvuu+app54ywWDQvPTSS26sglVSyedPf/pT8/zzz5tjx46Z5uZmU11dbS666CLz6quvurEKVunu7jZf+cpXzOrVqwc8Z8txk2Iky/oXI3PnzjX33HNP3881NTXmK1/5isnJyTHFxcXmlltuMQcPHsx+oBa6/fbbTUlJicnJyTHjx483t99+u3nvvff6nu+fS2OM+dWvfmW+8Y1vmJycHHPVVVeZF198MctR2yvZfLJvDu3f//3fzZQpU0xubq6ZPHmy+cUvfhHz/D333GPmzp0bs+z1118306dPNzk5OeZrX/ua2bBhQ/YCtlyy+fznf/5nU1ZWZvLy8swll1xiKioqzGuvvZblqO308ssvG0nm6NGjA56z5bgZMMaYzH73AgAAEB9zRgAAgKsoRgAAgKsoRgAAgKsoRgAAgKsoRgAAgKsoRgAAgKsoRgAAgKsoRgAAgKsoRgAAgKsoRgAAgKsoRgAAgKsoRgAAgKv+D25CKuM3ZArrAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[y==0,0],X[y==0,1],color=\"red\")\n",
    "plt.scatter(X[y==1,0],X[y==1,1],color=\"blue\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import StandardScaler\n",
    "standscaler=StandardScaler()\n",
    "standscaler.fit(X)\n",
    "x_std=standscaler.transform(X)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Scikit-learn中SVM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-container-id-1 {\n",
       "  /* Definition of color scheme common for light and dark mode */\n",
       "  --sklearn-color-text: black;\n",
       "  --sklearn-color-line: gray;\n",
       "  /* Definition of color scheme for unfitted estimators */\n",
       "  --sklearn-color-unfitted-level-0: #fff5e6;\n",
       "  --sklearn-color-unfitted-level-1: #f6e4d2;\n",
       "  --sklearn-color-unfitted-level-2: #ffe0b3;\n",
       "  --sklearn-color-unfitted-level-3: chocolate;\n",
       "  /* Definition of color scheme for fitted estimators */\n",
       "  --sklearn-color-fitted-level-0: #f0f8ff;\n",
       "  --sklearn-color-fitted-level-1: #d4ebff;\n",
       "  --sklearn-color-fitted-level-2: #b3dbfd;\n",
       "  --sklearn-color-fitted-level-3: cornflowerblue;\n",
       "\n",
       "  /* Specific color for light theme */\n",
       "  --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
       "  --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n",
       "  --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
       "  --sklearn-color-icon: #696969;\n",
       "\n",
       "  @media (prefers-color-scheme: dark) {\n",
       "    /* Redefinition of color scheme for dark theme */\n",
       "    --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
       "    --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n",
       "    --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
       "    --sklearn-color-icon: #878787;\n",
       "  }\n",
       "}\n",
       "\n",
       "#sk-container-id-1 {\n",
       "  color: var(--sklearn-color-text);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 pre {\n",
       "  padding: 0;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 input.sk-hidden--visually {\n",
       "  border: 0;\n",
       "  clip: rect(1px 1px 1px 1px);\n",
       "  clip: rect(1px, 1px, 1px, 1px);\n",
       "  height: 1px;\n",
       "  margin: -1px;\n",
       "  overflow: hidden;\n",
       "  padding: 0;\n",
       "  position: absolute;\n",
       "  width: 1px;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-dashed-wrapped {\n",
       "  border: 1px dashed var(--sklearn-color-line);\n",
       "  margin: 0 0.4em 0.5em 0.4em;\n",
       "  box-sizing: border-box;\n",
       "  padding-bottom: 0.4em;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-container {\n",
       "  /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n",
       "     but bootstrap.min.css set `[hidden] { display: none !important; }`\n",
       "     so we also need the `!important` here to be able to override the\n",
       "     default hidden behavior on the sphinx rendered scikit-learn.org.\n",
       "     See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n",
       "  display: inline-block !important;\n",
       "  position: relative;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-text-repr-fallback {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       "div.sk-parallel-item,\n",
       "div.sk-serial,\n",
       "div.sk-item {\n",
       "  /* draw centered vertical line to link estimators */\n",
       "  background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n",
       "  background-size: 2px 100%;\n",
       "  background-repeat: no-repeat;\n",
       "  background-position: center center;\n",
       "}\n",
       "\n",
       "/* Parallel-specific style estimator block */\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item::after {\n",
       "  content: \"\";\n",
       "  width: 100%;\n",
       "  border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n",
       "  flex-grow: 1;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel {\n",
       "  display: flex;\n",
       "  align-items: stretch;\n",
       "  justify-content: center;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  position: relative;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item:first-child::after {\n",
       "  align-self: flex-end;\n",
       "  width: 50%;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item:last-child::after {\n",
       "  align-self: flex-start;\n",
       "  width: 50%;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item:only-child::after {\n",
       "  width: 0;\n",
       "}\n",
       "\n",
       "/* Serial-specific style estimator block */\n",
       "\n",
       "#sk-container-id-1 div.sk-serial {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "  align-items: center;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  padding-right: 1em;\n",
       "  padding-left: 1em;\n",
       "}\n",
       "\n",
       "\n",
       "/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n",
       "clickable and can be expanded/collapsed.\n",
       "- Pipeline and ColumnTransformer use this feature and define the default style\n",
       "- Estimators will overwrite some part of the style using the `sk-estimator` class\n",
       "*/\n",
       "\n",
       "/* Pipeline and ColumnTransformer style (default) */\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable {\n",
       "  /* Default theme specific background. It is overwritten whether we have a\n",
       "  specific estimator or a Pipeline/ColumnTransformer */\n",
       "  background-color: var(--sklearn-color-background);\n",
       "}\n",
       "\n",
       "/* Toggleable label */\n",
       "#sk-container-id-1 label.sk-toggleable__label {\n",
       "  cursor: pointer;\n",
       "  display: block;\n",
       "  width: 100%;\n",
       "  margin-bottom: 0;\n",
       "  padding: 0.5em;\n",
       "  box-sizing: border-box;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 label.sk-toggleable__label-arrow:before {\n",
       "  /* Arrow on the left of the label */\n",
       "  content: \"▸\";\n",
       "  float: left;\n",
       "  margin-right: 0.25em;\n",
       "  color: var(--sklearn-color-icon);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {\n",
       "  color: var(--sklearn-color-text);\n",
       "}\n",
       "\n",
       "/* Toggleable content - dropdown */\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content {\n",
       "  max-height: 0;\n",
       "  max-width: 0;\n",
       "  overflow: hidden;\n",
       "  text-align: left;\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content.fitted {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content pre {\n",
       "  margin: 0.2em;\n",
       "  border-radius: 0.25em;\n",
       "  color: var(--sklearn-color-text);\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content.fitted pre {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n",
       "  /* Expand drop-down */\n",
       "  max-height: 200px;\n",
       "  max-width: 100%;\n",
       "  overflow: auto;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n",
       "  content: \"▾\";\n",
       "}\n",
       "\n",
       "/* Pipeline/ColumnTransformer-specific style */\n",
       "\n",
       "#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Estimator-specific style */\n",
       "\n",
       "/* Colorize estimator box */\n",
       "#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-label label.sk-toggleable__label,\n",
       "#sk-container-id-1 div.sk-label label {\n",
       "  /* The background is the default theme color */\n",
       "  color: var(--sklearn-color-text-on-default-background);\n",
       "}\n",
       "\n",
       "/* On hover, darken the color of the background */\n",
       "#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "/* Label box, darken color on hover, fitted */\n",
       "#sk-container-id-1 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Estimator label */\n",
       "\n",
       "#sk-container-id-1 div.sk-label label {\n",
       "  font-family: monospace;\n",
       "  font-weight: bold;\n",
       "  display: inline-block;\n",
       "  line-height: 1.2em;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-label-container {\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       "/* Estimator-specific */\n",
       "#sk-container-id-1 div.sk-estimator {\n",
       "  font-family: monospace;\n",
       "  border: 1px dotted var(--sklearn-color-border-box);\n",
       "  border-radius: 0.25em;\n",
       "  box-sizing: border-box;\n",
       "  margin-bottom: 0.5em;\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-estimator.fitted {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "/* on hover */\n",
       "#sk-container-id-1 div.sk-estimator:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-estimator.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Specification for estimator info (e.g. \"i\" and \"?\") */\n",
       "\n",
       "/* Common style for \"i\" and \"?\" */\n",
       "\n",
       ".sk-estimator-doc-link,\n",
       "a:link.sk-estimator-doc-link,\n",
       "a:visited.sk-estimator-doc-link {\n",
       "  float: right;\n",
       "  font-size: smaller;\n",
       "  line-height: 1em;\n",
       "  font-family: monospace;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  border-radius: 1em;\n",
       "  height: 1em;\n",
       "  width: 1em;\n",
       "  text-decoration: none !important;\n",
       "  margin-left: 1ex;\n",
       "  /* unfitted */\n",
       "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-unfitted-level-1);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link.fitted,\n",
       "a:link.sk-estimator-doc-link.fitted,\n",
       "a:visited.sk-estimator-doc-link.fitted {\n",
       "  /* fitted */\n",
       "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-fitted-level-1);\n",
       "}\n",
       "\n",
       "/* On hover */\n",
       "div.sk-estimator:hover .sk-estimator-doc-link:hover,\n",
       ".sk-estimator-doc-link:hover,\n",
       "div.sk-label-container:hover .sk-estimator-doc-link:hover,\n",
       ".sk-estimator-doc-link:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n",
       ".sk-estimator-doc-link.fitted:hover,\n",
       "div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n",
       ".sk-estimator-doc-link.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "/* Span, style for the box shown on hovering the info icon */\n",
       ".sk-estimator-doc-link span {\n",
       "  display: none;\n",
       "  z-index: 9999;\n",
       "  position: relative;\n",
       "  font-weight: normal;\n",
       "  right: .2ex;\n",
       "  padding: .5ex;\n",
       "  margin: .5ex;\n",
       "  width: min-content;\n",
       "  min-width: 20ex;\n",
       "  max-width: 50ex;\n",
       "  color: var(--sklearn-color-text);\n",
       "  box-shadow: 2pt 2pt 4pt #999;\n",
       "  /* unfitted */\n",
       "  background: var(--sklearn-color-unfitted-level-0);\n",
       "  border: .5pt solid var(--sklearn-color-unfitted-level-3);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link.fitted span {\n",
       "  /* fitted */\n",
       "  background: var(--sklearn-color-fitted-level-0);\n",
       "  border: var(--sklearn-color-fitted-level-3);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link:hover span {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       "/* \"?\"-specific style due to the `<a>` HTML tag */\n",
       "\n",
       "#sk-container-id-1 a.estimator_doc_link {\n",
       "  float: right;\n",
       "  font-size: 1rem;\n",
       "  line-height: 1em;\n",
       "  font-family: monospace;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  border-radius: 1rem;\n",
       "  height: 1rem;\n",
       "  width: 1rem;\n",
       "  text-decoration: none;\n",
       "  /* unfitted */\n",
       "  color: var(--sklearn-color-unfitted-level-1);\n",
       "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 a.estimator_doc_link.fitted {\n",
       "  /* fitted */\n",
       "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-fitted-level-1);\n",
       "}\n",
       "\n",
       "/* On hover */\n",
       "#sk-container-id-1 a.estimator_doc_link:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 a.estimator_doc_link.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-3);\n",
       "}\n",
       "</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>LinearSVC(C=1000000000.0)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">&nbsp;&nbsp;LinearSVC<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.5/modules/generated/sklearn.svm.LinearSVC.html\">?<span>Documentation for LinearSVC</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>LinearSVC(C=1000000000.0)</pre></div> </div></div></div></div>"
      ],
      "text/plain": [
       "LinearSVC(C=1000000000.0)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.svm import LinearSVC#线性支持向量分类器\n",
    "svc=LinearSVC(C=1e9)#设置C为10亿\n",
    "svc.fit(x_std,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "\"\"\"绘制决策边界的函数\"\"\"\n",
    "def plot_decision_boundary(model, axis):\n",
    "    x0, x1 = np.meshgrid(\n",
    "        np.linspace(axis[0], axis[1], int((axis[1]-axis[0])*100)).reshape(-1, 1),\n",
    "        np.linspace(axis[2], axis[3], int((axis[3]-axis[2])*100)).reshape(-1, 1)\n",
    "    )\n",
    "    X_new = np.c_[x0.ravel(), x1.ravel()]\n",
    "    y_predict = model.predict(X_new)\n",
    "    zz = y_predict.reshape(x0.shape)\n",
    "\n",
    "    from matplotlib.colors import ListedColormap\n",
    "    custom_cmap = ListedColormap(['#EF9A9A', '#FFF59D', '#90CAF9'])\n",
    "\n",
    "    plt.contourf(x0, x1, zz,cmap=custom_cmap)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiYAAAGiCAYAAADTBw0VAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAwpElEQVR4nO3df2xV52H/8c+5Nr6YJr42wZBk/AghLFvWBg/WtKRRZXeQJvqqTaoSodXf1MmiqEQQLSOaAtVamj8qlqW/EEOBqRugLvnWCYiipWoDynAitCZN40JbOiJgbSFkBBjmOuHH9Y97vn84djD+wb3nnvOc5zzn/ZIsxfa9nOc+F5yPz3nO8/F83/cFAABggUzcAwAAABhEMAEAANYgmAAAAGsQTAAAgDUIJgAAwBoEEwAAYA2CCQAAsAbBBAAAWINgAgAArEEwAQAA1og0mDzzzDO69dZbVVdXp7q6Oi1cuFA/+clPojwkAABIMC/Krpx///d/V1VVlebOnSvf97V161Y9/fTT+uUvf6k/+7M/i+qwAAAgoSINJqOZPHmynn76aT300EMmDwsAABKg2tSB+vv79cILL+jcuXNauHDhqI8pFAoqFApDnxeLRZ05c0bXXHONPM8zNVQAAFAB3/f13nvv6frrr1cmU+aqET9iv/rVr/yPfOQjflVVlZ/L5fwf//jHYz52zZo1viQ++OCDDz744MOBj2PHjpWdGyK/lNPT06OjR48qn89r27Zt+v73v69XXnlFt9xyy4jHXn7GJJ/Pa+bMmfrNU0/p6okToxwmAMAC/+9jX4p7CAjBxXPv6Rufu1Fnz55VLpcr67mRX8qpqanRTTfdJElasGCB3njjDa1bt06bNm0a8dhsNqtsNjvi61dPnKi62tqohwoAiNHWpjbxK6hbgizDML6PSbFYHHZWBACA+taquIcAS0R6xmT16tW6++67NXPmTL333nt67rnn1NHRoZdeeinKwwIAEqS+tUrrDvzfuIcBS0QaTE6ePKkvf/nL+p//+R/lcjndeuuteumll7R48eIoDwsASAhCCS4XaTD5l3/5lyj/eABAwhFKcDm6cgAAsdja1Bb3EGAhggkAwDhCCcZCMAEAGMUdOBgPwQQAYAyLXXElxrpyACB2xaKqDx2Sl8/Lz+XUN3euVG6PBypCKMGVEEwApMKEzk7Vtrcr09U19LViQ4MuLF2q3vnzYxxZerCuBKXgVwUAzpvQ2alJGzfKuySUSJLX1aVJGzdqQmdnTCNLD0IJSkUwAeC2YlG17e2SpMtbOwY/r21vl4pFo8NKE0IJykEwAeC06kOHlOnqGhFKBnmSMl1dqj50yOSwUoNQgnIRTAA4zcvnQ30cSsdtwQiCYALAaX4uF+rjUDruwEEQBBMATuubO1fFhgb5Y3zf18DdOX1z55oclvO4hIOgCCYA3JbJ6MLSpZI0IpwMfn5h6VL2MwkRoQSV4F8iAOf1zp+v88uWyW9oGPZ1v6FB55ctYx+TEBFKUCk2WAOQCr3z56u3qYmdXyNU31olHYh7FEg6ggmA9Mhk1HfzzXGPwkl04CAs/KoAAKgIoQRhIpgAACpCKEGYCCYAgMBY7IqwEUwAAIEQShAFggkAoGxsN4+oEEwAAGVhsSuiRDABAJSFUIIoEUwAACVjXQmiRjABAJSEUAITCCYAgCtisStMYUt6AMC4tja10YEDYzhjAgAYE2dKYBrBBAAwJu7AgWkEEwDAqFjsijiwxgRA/IpFVR86JC+fl5/LqW/uXCnD701xIpQgLgQTALGa0Nmp2vZ2Zbq6hr5WbGjQhaVL1Tt/fowjSy9CCeLEryQAYjOhs1OTNm6Ud0kokSSvq0uTNm7UhM7OmEaWXix2RdwIJgDiUSyqtr1dkuRd9q3Bz2vb26Vi0eiw0o7FrogbwQRALKoPHVKmq2tEKBnkScp0dan60CGTw0qt+tYqLuHACgQTALHw8vlQH4fKcKYEtiCYAIiFn8uF+jgEx5kS2IRgAiAWfXPnqtjQIH+M7/sauDunb+5ck8NKHUIJbEMwARCPTEYXli6VpBHhZPDzC0uXsp9JhLgDBzbiXzyA2PTOn6/zy5bJb2gY9nW/oUHnly1jH5MI1bdWsa4EVmKDNQCx6p0/X71NTez8ahihBLYimACIXyajvptvjnsUqcG6EtiMX0kAIEUIJbAdZ0yAtKAoL/XqW6ukA3GPAhgfwQRIAYrysLWpjVCCRODXJcBxFOWB24KRJAQTwGUU5UHcgYNkIZgADqMoDyx2RdIQTACHUZSXboQSJBHBBHAYRXnpRShBUhFMAIdRlJdOLHZFkkUaTNauXauPf/zjuvrqqzV16lTde++9euutt6I8JIBLUZSXSix2RZJF+tPolVde0fLly/Xaa69p9+7d6u3t1Z133qlz585FeVgAl6AoLz3qW6u4hIPEi3SDtZ/+9KfDPt+yZYumTp2qN998U5/+9KdHPL5QKKhQKAx93t3dHeXwgNSgKC8dOFMCFxjd+TX/wcr/yZMnj/r9tWvX6sknnzQ5JCA9KMpzVn1rFaEEzjD261KxWNRjjz2mT33qU/roRz866mNWr16tfD4/9HHs2DFTwwOAxCKUwCXGzpgsX75cv/nNb7R3794xH5PNZpXNZk0NCQCuzPLyQ4r54BojwWTFihV68cUX9eqrr2r69OkmDgkAFbO9/JBiPrgo0tjv+75WrFihHTt26D/+4z80e/bsKA8HAKGh/BCIR6TBZPny5fq3f/s3Pffcc7r66qt14sQJnThxQhcuXIjysABQGcvLD7ktGC6LNJg888wzyufzam5u1nXXXTf00f7BP3gAsJHt5YcsdoXLIl1j4vtjbYQNAPayufyQxa5wndF9TAAgCWwtP2SxK9LAnnveAMASNpYfUsyHtCCYAMDlLCw/ZF0J0oJgAgCjsKX8kDtwkDasMQGAMdhQfsiZEqQNwQQAxhNj+SFnSpBGXMoBAAsRSpBWnDEBEK6+PmU7OuSdOiW/sVGF5mapmh81AErDTwsAoZm4bZuyu3fLu2RzxYkvvKDC4sW6uGRJjCNLjvrWKtaVINUIJgBCMXHbNmV37Rr5Dd8f+jrh5MoIJUg71pgAqFxfn7K7d0sau/Quu3u31NdndFhJwm3BwACCCYCKZTs65Pn+uKV3nu8r29FhcFTJwpkSYADBBEDFvFOnQn1c2rDdPPAh1pgAqJjf2Bjq49KEYj5gOM6YAKhYoblZvueNW3rne97ArcMAMA6CCYDKVVersHixpLFL7wqLF7OfySVY7AqMjp8SAEIxeCtwdvdu6ZJ9TOR57GMyCha7AqMjmAAIzcUlS3Tx3nvZ+fUK6lurWFcCjIGfFgDCVV2twqJFcY/CWix2BcbHGhMAMITbgoEr44wJkEQ9Pardtk3eyZPyp07VhSVLpJqauEdlv2JR1YcOycvn5edy6ps7V8qY+f2MDhygNAQTIGEmbdigCfv3f7jL6m9/q5qODvXOm6fzy5fHOTSrTejsVG17uzJdXUNfKzY06MLSpeqdPz/SYxNKgNJxKQdIkMFQMpoJ+/dr0oYNhkeUDBM6OzVp40Z5l4QSSfK6ujRp40ZN6OyM9PiEEqB0BBMgKXp6hkLJWEV5E/bvl3p6jA7LesWiatvbJY09b7Xt7VKxGMnh2asEKA/BBEiI2m3bBsrwxvj+4Pdqt20zN6gEqD50SJmurnHnLdPVpepDh0I/NqEEKB/BBEgI7+TJUB+XFl4+H+rjSkUoAYIhmAAJ4U+dGurj0sLP5UJ9XCm4LRgIjmACJMSFJUsGyvDG+P7g9y6w9fswfXPnqtjQMO68FRsaBm4dDgmLXYHgCCZAUtTUqHfePEljF+X1zpvHfiaXy2R0YelSSWPP24WlS0Pbz4RLOEBlCCZAgpxfvnwonFyOfUzG1jt/vs4vWya/oWHY1/2GBp1ftiy0fUwIJUDl2GANSJjzy5ez82sAvfPnq7epKbKdXynmA8JBMAGSqKZGF770pbhHkTyZjPpuvjn0P5ZiPiA8XMoBgApwBw4QLs6YAElkqowuyHFiLMozjQ4cIHwEEyBhTJXRBTlOnEV5cSCUAOFz89cYwFGmyuiCHCfuojzTuAMHiAbBBEgKU2V0QY4Tc1GeaYQSIDoEEyAhTJXRBTlOnEV5prHYFYgWwQRICFNldEGOE1dRnmksdgWiRzABEsJUGV2Q48RRlGcaoQQwg2ACJISpMrogx4mjKM80QglgBsEESApTZXRBjmO4KM80FrsC5iTzpwSQUqbK6IIcx9TYTCOUAGaxwRqQMFGX0VVyHFNjM4ViPsA8ggmQRBGV0YVyHFNjixiLXYF4JPPXGACIGKEEiAdnTJA8NpfEUXrnBNaVAPEhmCBRbC6Jo/TODYQSIF78WobEsLkkjtI7NxBKgPgRTJAMNpfEUXrnBDpwADtEGkxeffVVfe5zn9P1118vz/P0ox/9KMrDwWE2l8RRepd83IED2CPSYHLu3DnNmzdPGzZsiPIwSAGbS+IovUs+Qglgj0gXv9599926++67ozwEUsLmkjhK75KNdSWAXay6K6dQKKhQKAx93t3dHeNoYJPBkjhvjMsfvga2Po+jJC7I2Gx+PWlCKAHsY9Xi17Vr1yqXyw19zJgxI+4hwRY2l8RRepdIhBLATlb91Fu9erXy+fzQx7Fjx+IeEixic0kcpXfJwh04gL2supSTzWaVzWbjHgYsZnNJHKV3ycAdOIDdrAomQElsLolLceldUhBKALtFGkzef/99HT58eOjz3/3ud9q3b58mT56smTNnRnloABiBdSWA/SINJr/4xS/U0tIy9PnKlSslSW1tbdqyZUuUhwaSo69P2Y4OeadOyW9sVKG5Waq+wj/NIM+xuSzQwNgIJUAyRBpMmpub5fuX33MAYNDEbduU3b1b3iX/Tia+8IIKixfr4pIloT3H5rJAE2MjlADJYcmvS0D6TNy2Tdldu6TLw7vvK7trlyZu2xbKc2wuCzQxNu7AAZKFYALEoa9P2d27JY1d4pfdvVvq66vsOTaXBRoYG3fgAMlDMAFikO3okOf745b4eb6vbEdHRc+xuSzQxNgIJUDyEEyAGHinTpX9uEDPsbgsMOqxsa4ESCaCCRADv7Gx7McFeo7FZYFRjo1QAiQXwQSIQaG5Wb7njejJGeRL8j1v4DbgCp4zWBY43nOKMZcfhj02QgmQbAQTIA7V1SosXixp7BK/wuLFw/cmCfIcm8sCIxgbd+AAyUcwAWJycckSFe68U/IuW/7peSrceeeoe5IEeY7NZYFhjo07cAA3eL7FO6B1d3crl8vpD+vWqa62Nu7hANFg59dQxsYlHMAeF9/v1qrPNCqfz6uurq6s51LiB8StulqFRYuif47NZYEVjo1QArjDkl+XACAYQgngFs6YIHlMXZIIcrnE1HGCzIFr8ya3QkmxXzqyz1P3aU91U3zNafKVYS0vUohggkQxVUYXpCjP1HGCzIFr8yZ9cAfOgVD/yNjs3+Npx7erdfbkh4ua66f6+sLjfZrXYu0yQCASXMpBYpgqowtSlGfqOEHmwLV5k9y6A2f/Hk+bn6jW2ZPDv372pLT5iWrt3zPWpv2AmwgmSAZTZXRBivJMHSfIHLg2bx9wJZQU+6Ud3x48cT36zO34TrWK/UaHBcSKYIJEMFVGF6Qoz9RxgsyBa/MmubWu5Mg+74PLN2PP3Nl3PR3Zx1kTpAfBBIlgqowuSFGeqeMEmQPX5s2lUCJJ3adLCxylPg5wAcEEiWCqjC5IUZ6p4wSZA5fmzbVQIkl1U0pb2Frq4wAXEEyQCKbK6IIU5Zk6TpA5cGXeXO3AmdPkq36qr5FtQYN81U8buHUYSAuCCZLBVBldkKI8U8cJMgeOzJsri10vl6mSvvD44ILg0WfuCyv72M8EqUIwQWKYKqMLUpRn6jhB5iDp8+biJZxLzWvx9eBTfaqfOvzr9dOkB59iHxOkDyV+SB7XdjBl59cxuR5KLsXOr3BJJSV+BBMAVkpTKAFcQ7swkGQ2n/2IiUvbzbuAszkwiWACxMjm3pu4uLTdvAvo8YFp7vyKBSSMzb03cSGU2IUeH8SBYALEwebemxgRSuxBjw/iQjABYmBz700c6lurWOxqGXp8EBeCCRADm3tv4sCZEvvQ44O4EEyAGNjce2Oaq9vNJx09PogLd+UAMRjssPHGuDTja2Bn1tF6b8p5ju22NrVxW7ClBnt8Bha+jv43rn6a6PFB6DhjAsTB5t4bQPT4ID78BANiYnPvTdRY7JoM9PggDlzKAWLUO3++epuaytrFNchzbMNi1+SY1+LrY5/uZedXGEMwAeKWyajv5pujf44lOFOSPJkqae4CXyMv6QDhS86vWAASj1AC4Eo4Y4JwmSiXC3KMvj5lOzrknTolv7FRheZmqdqSv/6OF/INSlMxH6V3zEEQzNkAS34ywwUmyuWCHGPitm3K7t4tz//wNPTEF15QYfFiXVyyJJRxBeV6Id+l0rKuhNI75iAI5uxD7v1ahliYKJcLcoyJ27Ypu2uX5F/2D9v3ld21SxO3bat4XEG5Xsh3qbRcwqH0jjkIgjkbjmCCypkolwtyjL4+ZXfvHvc52d27pb4+GZeCQr5BaQkllN4xB0EwZyMRTFAxE+VyQY6R7eiQ5/vjPsfzfWU7OgKPKyiXC/kulZZQIlF6JzEHQTBnIxFMUDET5XKBSu9OnSrtOSU+LkwuF/INSlsHDqV3zEEQzNlIBBNUzES5XKDSu8bG0p5T4uPC5Goh36D61qrULHYdROkdcxAEczYSwQQVGyyXG+ufja+BO00qKZcLcoxCc7N8zxv3Ob7nDdw6bJiJOYtLGkOJ9GHp3dibkPmqn+Y7XXrHHJSPORuJYILKmSiXC3KM6moVFi8e9zmFxYvj2c/E4UK+NIYSidI7iTkIgjkbKXk/9WAlE+VyQY5xcckSFe68U/Iuuz7reSrceWes+5i4Usg3iGI+Su8k5iAI5mw4z/cv3+DBHt3d3crlcvrDunWqq62NezgoBTu/ls+RnV/THkouxQ6ezEEQLs3Zxfe7teozjcrn86qrqyvruZb8ZIYzTJTLBTlGdbUKixZFM55KJbiQb1CatpsvBaV3zEEQzNkAggmAimxtaiOUAAgNwQTJY+rSh2uXjACor0fauz2j0297mjLd1x1fLKq6JvzjuHRZxjR+YiJRTJXeuVYWGIW03haM5Nq5PqOOZ6vkFz9cDL9zna/m1n7d82h49Q8U8lXGyAq7DRs26IYbbtDEiRP1iU98Qj//+c9NHBaOMVV651pZYFQIJUiSnesz2vODKvmX5Q+/KO35QZV2rg/nf4cU8lUu8mDS3t6ulStXas2aNers7NS8efP02c9+VidPnrzyk4FBpkrvXCsLjEjatptHsvX1SB3PDv6dHf1facezVerrqew4FPKFI/Jg8p3vfEcPP/ywHnzwQd1yyy3auHGjJk2apH/9138d8dhCoaDu7u5hH4BkrvTOtbLAKGxtauNsCRJl7/bMB5dvxv5X6hc97d1e2f8SKeQLR6TBpKenR2+++aYWXXKbZiaT0aJFi/Szn/1sxOPXrl2rXC439DFjxowoh4cEMVV651pZYNg4U4IkOv12aUGg1MeNhUK+cEQaTE6fPq3+/n5NmzZt2NenTZumEydOjHj86tWrlc/nhz6OHTsW5fCQIKZK71wrCwwTZ0qQVFOml7bgtNTHjYVCvnBYtb1kNptVXV3dsA9AMld651pZYFg4U4Iku+OLRXmZ8YvyvMzArcOVoJAvHJEGkylTpqiqqkrvvvvusK+/++67uvbaa6M8NFxjqvTOtbLAkHCmBElWXSM1tw6uOB39X2lza3/F+5lQyBeOSINJTU2NFixYoJdffnnoa8ViUS+//LIWLlwY5aHhIFOld66VBVaKDhy44J5Hi2q5v1/eZf/X8zJSy/3h7WNCIV/lIi/xa29vV1tbmzZt2qTbbrtN3/ve9/T888/r4MGDI9aeXI4SP4yKnV+NIZTANez8aobVJX5Lly7VqVOn9PWvf10nTpxQU1OTfvrTn14xlABjMlV651pZIICByzp/Fd4ur2OhkC84I7/KrVixQitWrDBxKAAhYLt5AHFJ7jlmRC/IpQxTl1lMCHJZxpE5qySUmDqFHeSUvKmxuXYcWwV5/WmfsyQgmGBUQUrsTBXsmRCkkM+FOav0TImp8rIgZWymxubacWwV5PWnfc6SIvLFr5Vg8Ws8BkvspOEbKw/+RRntzpQgz7HVUCGfRn8to91l48qcVbLYdbC8bMDIVxTWHQmDZWxjHWe0OyxMjc2149gqyOtP+5yZVsni14SeY0dkgpTYmSrYMyFIIZ8jc1bJJmqmysuClLGZGptrx7FVkNef9jlLGoIJhglSYmeqYM+EIIV8LsxZpdvNmyovC1LGZmpsrh3HVkFef9rnLGkIJhgmUImdoYI9E4IU8qV9ziRz5WVBythMjc2149gqyOtP+5wlDcEEwwQqsTNUsGdCkEK+JM9ZfWtVKJuomSovC1LGZmpsrh3HVkFef9rnLGkIJhgmSImdqYI9E4IU8iV5zsLaq8RUeVmQMjZTY3PtOLYK8vrTPmdJQzDBcEFK7EwV7JkQpJAvoXMWZmOwqfKyIGVspsbm2nFsFeT1p33OkobbhTEqF/bkqMRo+5j4nufMPiZRdeCMuk/ENF9fWBn9PiZeJsA+JhGMzbXj2CrI60/7nJlUye3CBBOMzZFdTANzdOfXqLebZ+dX945jK3Z+tRfBBEBJaAsGYAIbrAG4ojDXlABAVOjKQbhcupTjGNfagl07jW/q9bh0mcnm9xPBEUwQGpcWv7rGtUs4rhW4mXo9LhUM2vx+ojL8KotQDBbSeZeEEknyuro0aeNGTejsjGlkcDGUbH6iWmdPDv/62ZPS5ieqtX/PyN07gzzHFFOvx9QcmDiOze8nKkcwQeUsLKTDANdCiWsFbqZej0sFgza/nwgHwQQVs62QDgNcXOzqWoGbqdfjUsGgze8nwkEwQcVcK6RzhWuLXSX3CtxMvR6XCgZtfj8RDoIJKmZLIR0GhFXMZyPXCtxMvR6XCgZtfj8RDoIJKmZLIR0GuHimZJBrBW6mXo9LBYM2v58IB8EElbOgkA4DXFxXcinXCtxMvR6XCgZtfj8RDv5PgVD0zp+v88uWyW9oGPZ1v6FB55ctYx8TA7Y2tTl9tmTQvBZfDz7Vp/qpw79eP0168KnR97AI8hxTTL0eU3Ng4jg2v5+oHF05CBc7v8Yi6mI+G9m862kQ7Pxq5zEQDCV+QIqlMZQAsBslfkCKEUoAuISuHCDBXL0tOCp9PdLe7RmdftvTlOm+7vhiUdU1cY8qOJdej82XZWwem4sIJkBCEUrKs3N9Rh3PVskvfrjx1s51vppb+3XPo8mrS3Dp9dhcyGfz2FzFpRwggVy/LThsO9dntOcHVfIv+/+1X5T2/KBKO9cn60ehS6/H5kI+m8fmsuT87QUgKT23BYelr0fqeHYwyI1e+tbxbJX6eowOKzCXXo/NhXw2j811BBMgQThTUr692zMfXO4Yu/TNL3rauz0ZPw5dej02F/LZPDbX2f83F8AQzpSU7/Tbpf2Po9THxc2l12NzIZ/NY3MdwQRICBa7BjNlemkLFEt9XNxcej02F/LZPDbXEUyABCCUBHfHF4vyMuOXvnmZgVttk8Cl12NzIZ/NY3MdwQSwHKGkMtU1UnPr4ArF0Uvfmlv7E7P/h0uvx+ZCPpvH5jqCCWAxFruG455Hi2q5v1/eZT/xvIzUcn/y9v1w6fXYXMhn89hcRlcOYDHOloTLpZ1SJbdej827q9o8NltV0pXDzq+AhSjmi0Z1jdT8V8k5m3AlLr2eTJU0d8F4azriY/PYXMSlHMBChBIAacUZE8AyUV2+ce10tKnXY+pyiWvvDxAUwQSwSFShxLUiMlOvx1RRnmvvD1AJLuUAlojqDhzXishMvR5TRXmuvT9ApQgmgAWiWuzqWhGZqddjqijPtfcHCAPBBLBAVItdXSsiM/V6TBXlufb+AGEgmAAxi3KvEteKyEy9HlNFea69P0AYCCZAjKLeQM21IjJTr8dUUZ5r7w8QBoIJEBMT2827VkRm6vWYKspz7f0BwkAwAWJgamdX14rITL0eU0V5rr0/QBgIJoBhprebd62IzNTrMVWU59r7A1SKEj/AsLiK+VzbWZSdXwF7WVni981vflM//vGPtW/fPtXU1Ojs2bNRHQpIjDjbgl0rIjP1ekwV5bn2/gBBRXYpp6enR/fdd58eeeSRqA4BJEqcoQQAkiKyMyZPPvmkJGnLli1RHQJIDELJ+ExdxghyHC6xAGZZVeJXKBRUKBSGPu/u7o5xNEA46lurpANxj8JepgrsghyHcj3APKvuylm7dq1yudzQx4wZM+IeElAxk3fgJI2pArsgx6FcD4hHWcFk1apV8jxv3I+DBw8GHszq1auVz+eHPo4dOxb4zwJswCWcsZkqsAtyHMr1gPiUdSnn8ccf1wMPPDDuY2688cbAg8lms8pms4GfD9iEUDK+DwvsxuLp7LsDjxu4W8XccUyNDcBIZQWTxsZGNTY2RjUWwBmEkisrr8Au+P/8gxzH1NgAjBTZ4tejR4/qzJkzOnr0qPr7+7Vv3z5J0k033aSrrroqqsMCsSOUlMZUgV2Q41CuB8QnsmDy9a9/XVu3bh36/M///M8lSXv27FFzc3NUhwVixR04pRsssBtYXDraGQpf9dNUcYFdkOOYGhuAkSK7K2fLli3yfX/EB6EErjLdgZN0pgrsghyHcj0gPlbdLgwkGaGkfKYK7IIch3I9IB5WbbAGJBXrSoKb1+LrY5/ujXx31SDHMTU2AB8imAAVIpRUzlSBXZDjUK4HmMWlHKAC9a386gwAYeKMCRBQnItdXSuWo1zPbsw1TCKYAAHEGUpcK5ajXM9uzDVM41IOEECcocSlYjnK9ezGXCMOBBOgTHEtdnWtWI5yPbsx14gLwQQoQ5x34HxYLDfWb6mezr7r6ci+ZPwWG+T1uDYHNmOuEReCCVCiuG8LLq9Yzn5BXo9rc2Az5hpxIZgAJbDhtmDXiuUo17Mbc424EEyAEtiw3fxgsdzYG335qp/mJ6ZYLsjrcW0ObMZcIy4EE+AK4r6EM8i1YjnK9ezGXCMuBBNgHLaEkkGuFctRrmc35hpx8Hzft/ZvVnd3t3K5nP6wbp3qamvjHg5SxrZQcinXduJk51e7Mdco18X3u7XqM43K5/Oqq6sr67ns/AqMor61SjoQ9yjG5lqxHOV6dmOuYRKXcoDLxLndPACkHWdMgEtUGko45R1MX4+0d3tGp9/2NGW6rzu+WFR1TdyjAhAHggnwgUpDCWVnwexcn1HHs1Xyix/O2851vppb+3XPo8UYRwYgDlzKAT5QaSih7Kx8O9dntOcHVfIvyx9+UdrzgyrtXM+PKCBt+FcPqLI7cCg7C6avR+p4dvA61+jz1vFslfp6jA4LQMwIJki9Sm8LpuwsmL3bMx9cvhl73vyip73b+TEFpAn/4pFqYXTgUHYWzOm3S5uPUh8HwA0EE6RWWLcFU3YWzJTppc1HqY8D4AaCCVIrrL1KKDsL5o4vFuVlxp83LzNw6zCA9CCYIJXC3G6esrNgqmuk5tbBFcGjz1tzaz/7mQApQzBB6kTRgUPZWTD3PFpUy/398i77SeRlpJb72ccESCM2WEOqRNmBM6/F18c+3cvOr2W659Gi/s9Xiuz8CkASwQQpYqIDh7KzYKprpOa/4uwIAC7lICUo5gOAZOCMCeJXLKr60CF5+bz8XE59c+dKmXAzs82hhOI/5sB2vD8wiWCCWE3o7FRte7syXV1DXys2NOjC0qXqnT8/lGNEsdg1LBT/MQe24/2BaVzKQWwmdHZq0saN8i4JJZLkdXVp0saNmtDZWfExbA8laS/+Yw7sxvuDOBBMEI9iUbXt7ZLGqm/TwPeLwRdEhrHdfFQo/mMObMf7g7gQTBCL6kOHlOnqGqe+Tcp0dan60KFAf77ti10p/mMObMf7g7gQTBALL58P9XGXszmUSBT/ScyB7Xh/EBeCCWLh53KhPm5QfWuV1etKBlH8xxzYjvcHcSGYIBZ9c+eq2NAwTn3bwN05fXPnlvXn2n6mZBDFf8yB7Xh/EBeCCeKRyejC0qWSxqpv08D3y9jPJAlnSgZR/Mcc2I73B3EhmCA2vfPn6/yyZfIbGoZ93W9o0Plly8raxyRJoWQQxX/Mge14fxAHNlhDrHrnz1dvU1NFO79GWcwXNYr/mAPb8f7ANIIJ4pfJqO/mmwM91fbbgktB8R9zYDveH5jEpRwkWtJDCQBgOM6YILGSuK4EGIupojwK+WA7ggkSiVACl5gqyqOQD0nApRwkjs0dOEC5TBXlUciHpCCYIFG2NrWxrgTOMFWURyEfkoRggsTgTAlcY6ooj0I+JAnBBInBmRK4xlRRHoV8SBKCCRKBxa5wkamiPAr5kCQEE1iPUAJXmSrKo5APSRJZMPn973+vhx56SLNnz1Ztba3mzJmjNWvWqKenJ6pDwkGEErjMVFEehXxIksiCycGDB1UsFrVp0yYdOHBA3/3ud7Vx40Z99atfjeqQcAyLXZEGporyKORDUni+7xv72/j000/rmWee0X//93+X9Pju7m7lcjn9Yd061dXWRjw62IazJUgTdn6FSy6+361Vn2lUPp9XXV1dWc81uvNrPp/X5MmTx/x+oVBQoVAY+ry7u9vEsGAZF4r5gHKZKsqjkA+2M7b49fDhw1q/fr2+8pWvjPmYtWvXKpfLDX3MmDHD1PBgEUIJAKRX2cFk1apV8jxv3I+DBw8Oe87x48d111136b777tPDDz885p+9evVq5fP5oY9jx46V/4qQaKwrAYB0K/tSzuOPP64HHnhg3MfceOONQ//9zjvvqKWlRbfffrv++Z//edznZbNZZbPZcocER2xtapMOxD0KAECcyg4mjY2NamxsLOmxx48fV0tLixYsWKDNmzcrk2HbFIyuvrWKUAIAiG7x6/Hjx9Xc3KxZs2bpW9/6lk6dOjX0vWuvvTaqwyKBWOwKABgUWTDZvXu3Dh8+rMOHD2v69OnDvmfwDmUkAKEEADAosmsrDzzwgHzfH/UDGMReJQCAS7HoA7EhlAAALkcwQSy4LRgAMBqjO78CErcFAwDGxhkTGMWZEgDAeAgmMIo7cAAA4yGYwBgWuwIAroRgAiMIJQCAUrD4FZEjlIyv2C8d2eep+7Snuim+5jT5yrAUB0BKEUwQKTpwxrd/j6cd367W2ZPe0Nfqp/r6wuN9mtfCZoQA0odLOYgUi13Htn+Pp81PVOvsyeFfP3tS2vxEtfbv8UZ/IgA4jGCCSNS3VnEJZxzFfmnHtwdPWF4eQAY+3/GdahX7jQ4LAGJHMEEkOFMyviP7vA8u34x1VsTT2Xc9HdnHWRMA6UIwQag4U1Ka7tOlBY5SHwcAriCYIFScKSlN3ZTSFraW+jgAcAXBBKFhu/nSzWnyVT/VlzRW8PBVP23g1mEASBOCCUKxtamNsyVlyFRJX3i874PPLg8fA59/YWUf+5kASB2CCRCTeS2+HnyqT/VTh3+9fpr04FPsYwIgndhgDRVjsWtw81p8fezTvez8CgAfIJigIoSSymWqpLkLxltvAgDpwaUcBMZiVwBA2DhjgkC2NrXRgQMACB1nTFA2zpQAAKJCMEHZuC0YABAVgglKxnbzAICoEUxQMs6UAACiRjBBSThTAgAwgWCCKyKUAABMIZgAAABrEEwwJha7AgBMI5hgTCx2BQCYRjDBqDhTAgCIA8EEIxBKAABxIZhgGLabBwDEiRI/DKGYDwAQN86YAAAAaxBMwG3BAABrEEzAbcEAAGsQTFKOxa4AAJuw+DXFWOwKALANZ0xSijMlAAAbEUxSinUlAAAbEUxShjtwAAA2I5ikDGdKAAA2I5ikCGdKAAC2I5ikBKEEAJAEBBMAAGANgonjWOwKAEgSgonjWOwKAEgSgonDOFMCAEgagomjCCUAgCQimDiI7eYBAEkVaTD5/Oc/r5kzZ2rixIm67rrrdP/99+udd96J8pCpV99axboSAEBiRRpMWlpa9Pzzz+utt97S9u3bdeTIES1ZsiTKQ6YaoQQAkHTVUf7hf/u3fzv037NmzdKqVat07733qre3VxMmTBjx+EKhoEKhMPR5Pp+XJL138WKUw3TGpte/JKk77mEAAFLu4rn3JEm+75f9XM8P8qwAzpw5o0ceeUTHjx/X3r17R33MN77xDT355JMmhgMAACJ25MgR3XjjjWU9J/Jg8sQTT+if/umfdP78eX3yk5/Uiy++qGuuuWbUx15+xuTs2bOaNWuWjh49qlwuF+Uwndfd3a0ZM2bo2LFjqquri3s4icZchoN5DA9zGR7mMhz5fF4zZ85UV1eX6uvry3pu2cFk1apVeuqpp8Z9zH/913/pT/7kTyRJp0+f1pkzZ/SHP/xBTz75pHK5nF588UV5nnfFY3V3dyuXyymfz/MXpELMZXiYy3Awj+FhLsPDXIajknkse43J448/rgceeGDcx1x62mbKlCmaMmWK/viP/1h/+qd/qhkzZui1117TwoULyz00AABwXNnBpLGxUY2NjYEOViwWJWnY5RoAAIBBkd2V8/rrr+uNN97QHXfcoYaGBh05ckRf+9rXNGfOnJLPlmSzWa1Zs0bZbDaqYaYGcxke5jIczGN4mMvwMJfhqGQeI1v8+utf/1p/8zd/o/379+vcuXO67rrrdNddd+nv//7v9Ud/9EdRHBIAACScsduFAQAAroSuHAAAYA2CCQAAsAbBBAAAWINgAgAArJGoYPL5z39eM2fO1MSJE3Xdddfp/vvv1zvvvBP3sBLl97//vR566CHNnj1btbW1mjNnjtasWaOenp64h5ZI3/zmN3X77bdr0qRJZW+7nHYbNmzQDTfcoIkTJ+oTn/iEfv7zn8c9pMR59dVX9bnPfU7XX3+9PM/Tj370o7iHlEhr167Vxz/+cV199dWaOnWq7r33Xr311ltxDyuRnnnmGd16662qq6tTXV2dFi5cqJ/85Cdl/RmJCiYtLS16/vnn9dZbb2n79u06cuSIlixZEvewEuXgwYMqFovatGmTDhw4oO9+97vauHGjvvrVr8Y9tETq6enRfffdp0ceeSTuoSRKe3u7Vq5cqTVr1qizs1Pz5s3TZz/7WZ08eTLuoSXKuXPnNG/ePG3YsCHuoSTaK6+8ouXLl+u1117T7t271dvbqzvvvFPnzp2Le2iJM336dP3DP/yD3nzzTf3iF7/QZz7zGd1zzz06cOBA6X+In2A7d+70Pc/ze3p64h5Kov3jP/6jP3v27LiHkWibN2/2c7lc3MNIjNtuu81fvnz50Of9/f3+9ddf769duzbGUSWbJH/Hjh1xD8MJJ0+e9CX5r7zyStxDcUJDQ4P//e9/v+THJ+qMyaXOnDmjZ599VrfffrsmTJgQ93ASLZ/Pa/LkyXEPAynR09OjN998U4sWLRr6WiaT0aJFi/Szn/0sxpEBA/L5vCTxc7FC/f39+uEPf6hz586V1Y+XuGDyxBNP6CMf+YiuueYaHT16VDt37ox7SIl2+PBhrV+/Xl/5ylfiHgpS4vTp0+rv79e0adOGfX3atGk6ceJETKMCBhSLRT322GP61Kc+pY9+9KNxDyeRfv3rX+uqq65SNpvVsmXLtGPHDt1yyy0lPz/2YLJq1Sp5njfux8GDB4ce/3d/93f65S9/qV27dqmqqkpf/vKX5bN5bdnzKEnHjx/XXXfdpfvuu08PP/xwTCO3T5C5BOCG5cuX6ze/+Y1++MMfxj2UxLr55pu1b98+vf7663rkkUfU1tam3/72tyU/P/Yt6U+dOqX//d//HfcxN954o2pqakZ8/e2339aMGTP0n//5n2WdJnJRufP4zjvvqLm5WZ/85Ce1ZcsWZTKxZ1RrBPk7uWXLFj322GM6e/ZsxKNLvp6eHk2aNEnbtm3TvffeO/T1trY2nT17lrOgAXmepx07dgybU5RnxYoV2rlzp1599VXNnj077uE4Y9GiRZozZ442bdpU0uMjaxcuVWNjoxobGwM9t1gsSpIKhUKYQ0qkcubx+PHjamlp0YIFC7R582ZCyWUq+TuJK6upqdGCBQv08ssvD/1PtFgs6uWXX9aKFSviHRxSyfd9Pfroo9qxY4c6OjoIJSErFotl/X869mBSqtdff11vvPGG7rjjDjU0NOjIkSP62te+pjlz5qT+bEk5jh8/rubmZs2aNUvf+ta3dOrUqaHvXXvttTGOLJmOHj2qM2fO6OjRo+rv79e+ffskSTfddJOuuuqqeAdnsZUrV6qtrU1/8Rd/odtuu03f+973dO7cOT344INxDy1R3n//fR0+fHjo89/97nfat2+fJk+erJkzZ8Y4smRZvny5nnvuOe3cuVNXX3310FqnXC6n2tramEeXLKtXr9bdd9+tmTNn6r333tNzzz2njo4OvfTSS6X/IRHdHRS6X/3qV35LS4s/efJkP5vN+jfccIO/bNky/+233457aImyefNmX9KoHyhfW1vbqHO5Z8+euIdmvfXr1/szZ870a2pq/Ntuu81/7bXX4h5S4uzZs2fUv39tbW1xDy1RxvqZuHnz5riHljh//dd/7c+aNcuvqanxGxsb/b/8y7/0d+3aVdafEfsaEwAAgEEsLgAAANYgmAAAAGsQTAAAgDUIJgAAwBoEEwAAYA2CCQAAsAbBBAAAWINgAgAArEEwAQAA1iCYAAAAaxBMAACANf4/UMWCJUmUaAIAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#绘制svc决策边界，C大，容错率变小\n",
    "plot_decision_boundary(svc,axis=[-3,3,-3,3])\n",
    "plt.scatter(x_std[y==0,0],x_std[y==0,1],color=\"red\")\n",
    "plt.scatter(x_std[y==1,0],x_std[y==1,1],color=\"blue\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-container-id-2 {\n",
       "  /* Definition of color scheme common for light and dark mode */\n",
       "  --sklearn-color-text: black;\n",
       "  --sklearn-color-line: gray;\n",
       "  /* Definition of color scheme for unfitted estimators */\n",
       "  --sklearn-color-unfitted-level-0: #fff5e6;\n",
       "  --sklearn-color-unfitted-level-1: #f6e4d2;\n",
       "  --sklearn-color-unfitted-level-2: #ffe0b3;\n",
       "  --sklearn-color-unfitted-level-3: chocolate;\n",
       "  /* Definition of color scheme for fitted estimators */\n",
       "  --sklearn-color-fitted-level-0: #f0f8ff;\n",
       "  --sklearn-color-fitted-level-1: #d4ebff;\n",
       "  --sklearn-color-fitted-level-2: #b3dbfd;\n",
       "  --sklearn-color-fitted-level-3: cornflowerblue;\n",
       "\n",
       "  /* Specific color for light theme */\n",
       "  --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
       "  --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n",
       "  --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
       "  --sklearn-color-icon: #696969;\n",
       "\n",
       "  @media (prefers-color-scheme: dark) {\n",
       "    /* Redefinition of color scheme for dark theme */\n",
       "    --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
       "    --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n",
       "    --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
       "    --sklearn-color-icon: #878787;\n",
       "  }\n",
       "}\n",
       "\n",
       "#sk-container-id-2 {\n",
       "  color: var(--sklearn-color-text);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 pre {\n",
       "  padding: 0;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 input.sk-hidden--visually {\n",
       "  border: 0;\n",
       "  clip: rect(1px 1px 1px 1px);\n",
       "  clip: rect(1px, 1px, 1px, 1px);\n",
       "  height: 1px;\n",
       "  margin: -1px;\n",
       "  overflow: hidden;\n",
       "  padding: 0;\n",
       "  position: absolute;\n",
       "  width: 1px;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-dashed-wrapped {\n",
       "  border: 1px dashed var(--sklearn-color-line);\n",
       "  margin: 0 0.4em 0.5em 0.4em;\n",
       "  box-sizing: border-box;\n",
       "  padding-bottom: 0.4em;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-container {\n",
       "  /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n",
       "     but bootstrap.min.css set `[hidden] { display: none !important; }`\n",
       "     so we also need the `!important` here to be able to override the\n",
       "     default hidden behavior on the sphinx rendered scikit-learn.org.\n",
       "     See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n",
       "  display: inline-block !important;\n",
       "  position: relative;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-text-repr-fallback {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       "div.sk-parallel-item,\n",
       "div.sk-serial,\n",
       "div.sk-item {\n",
       "  /* draw centered vertical line to link estimators */\n",
       "  background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n",
       "  background-size: 2px 100%;\n",
       "  background-repeat: no-repeat;\n",
       "  background-position: center center;\n",
       "}\n",
       "\n",
       "/* Parallel-specific style estimator block */\n",
       "\n",
       "#sk-container-id-2 div.sk-parallel-item::after {\n",
       "  content: \"\";\n",
       "  width: 100%;\n",
       "  border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n",
       "  flex-grow: 1;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-parallel {\n",
       "  display: flex;\n",
       "  align-items: stretch;\n",
       "  justify-content: center;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  position: relative;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-parallel-item {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-parallel-item:first-child::after {\n",
       "  align-self: flex-end;\n",
       "  width: 50%;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-parallel-item:last-child::after {\n",
       "  align-self: flex-start;\n",
       "  width: 50%;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-parallel-item:only-child::after {\n",
       "  width: 0;\n",
       "}\n",
       "\n",
       "/* Serial-specific style estimator block */\n",
       "\n",
       "#sk-container-id-2 div.sk-serial {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "  align-items: center;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  padding-right: 1em;\n",
       "  padding-left: 1em;\n",
       "}\n",
       "\n",
       "\n",
       "/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n",
       "clickable and can be expanded/collapsed.\n",
       "- Pipeline and ColumnTransformer use this feature and define the default style\n",
       "- Estimators will overwrite some part of the style using the `sk-estimator` class\n",
       "*/\n",
       "\n",
       "/* Pipeline and ColumnTransformer style (default) */\n",
       "\n",
       "#sk-container-id-2 div.sk-toggleable {\n",
       "  /* Default theme specific background. It is overwritten whether we have a\n",
       "  specific estimator or a Pipeline/ColumnTransformer */\n",
       "  background-color: var(--sklearn-color-background);\n",
       "}\n",
       "\n",
       "/* Toggleable label */\n",
       "#sk-container-id-2 label.sk-toggleable__label {\n",
       "  cursor: pointer;\n",
       "  display: block;\n",
       "  width: 100%;\n",
       "  margin-bottom: 0;\n",
       "  padding: 0.5em;\n",
       "  box-sizing: border-box;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 label.sk-toggleable__label-arrow:before {\n",
       "  /* Arrow on the left of the label */\n",
       "  content: \"▸\";\n",
       "  float: left;\n",
       "  margin-right: 0.25em;\n",
       "  color: var(--sklearn-color-icon);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 label.sk-toggleable__label-arrow:hover:before {\n",
       "  color: var(--sklearn-color-text);\n",
       "}\n",
       "\n",
       "/* Toggleable content - dropdown */\n",
       "\n",
       "#sk-container-id-2 div.sk-toggleable__content {\n",
       "  max-height: 0;\n",
       "  max-width: 0;\n",
       "  overflow: hidden;\n",
       "  text-align: left;\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-toggleable__content.fitted {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-toggleable__content pre {\n",
       "  margin: 0.2em;\n",
       "  border-radius: 0.25em;\n",
       "  color: var(--sklearn-color-text);\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-toggleable__content.fitted pre {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n",
       "  /* Expand drop-down */\n",
       "  max-height: 200px;\n",
       "  max-width: 100%;\n",
       "  overflow: auto;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n",
       "  content: \"▾\";\n",
       "}\n",
       "\n",
       "/* Pipeline/ColumnTransformer-specific style */\n",
       "\n",
       "#sk-container-id-2 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Estimator-specific style */\n",
       "\n",
       "/* Colorize estimator box */\n",
       "#sk-container-id-2 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-label label.sk-toggleable__label,\n",
       "#sk-container-id-2 div.sk-label label {\n",
       "  /* The background is the default theme color */\n",
       "  color: var(--sklearn-color-text-on-default-background);\n",
       "}\n",
       "\n",
       "/* On hover, darken the color of the background */\n",
       "#sk-container-id-2 div.sk-label:hover label.sk-toggleable__label {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "/* Label box, darken color on hover, fitted */\n",
       "#sk-container-id-2 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Estimator label */\n",
       "\n",
       "#sk-container-id-2 div.sk-label label {\n",
       "  font-family: monospace;\n",
       "  font-weight: bold;\n",
       "  display: inline-block;\n",
       "  line-height: 1.2em;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-label-container {\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       "/* Estimator-specific */\n",
       "#sk-container-id-2 div.sk-estimator {\n",
       "  font-family: monospace;\n",
       "  border: 1px dotted var(--sklearn-color-border-box);\n",
       "  border-radius: 0.25em;\n",
       "  box-sizing: border-box;\n",
       "  margin-bottom: 0.5em;\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-estimator.fitted {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "/* on hover */\n",
       "#sk-container-id-2 div.sk-estimator:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-estimator.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Specification for estimator info (e.g. \"i\" and \"?\") */\n",
       "\n",
       "/* Common style for \"i\" and \"?\" */\n",
       "\n",
       ".sk-estimator-doc-link,\n",
       "a:link.sk-estimator-doc-link,\n",
       "a:visited.sk-estimator-doc-link {\n",
       "  float: right;\n",
       "  font-size: smaller;\n",
       "  line-height: 1em;\n",
       "  font-family: monospace;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  border-radius: 1em;\n",
       "  height: 1em;\n",
       "  width: 1em;\n",
       "  text-decoration: none !important;\n",
       "  margin-left: 1ex;\n",
       "  /* unfitted */\n",
       "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-unfitted-level-1);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link.fitted,\n",
       "a:link.sk-estimator-doc-link.fitted,\n",
       "a:visited.sk-estimator-doc-link.fitted {\n",
       "  /* fitted */\n",
       "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-fitted-level-1);\n",
       "}\n",
       "\n",
       "/* On hover */\n",
       "div.sk-estimator:hover .sk-estimator-doc-link:hover,\n",
       ".sk-estimator-doc-link:hover,\n",
       "div.sk-label-container:hover .sk-estimator-doc-link:hover,\n",
       ".sk-estimator-doc-link:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n",
       ".sk-estimator-doc-link.fitted:hover,\n",
       "div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n",
       ".sk-estimator-doc-link.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "/* Span, style for the box shown on hovering the info icon */\n",
       ".sk-estimator-doc-link span {\n",
       "  display: none;\n",
       "  z-index: 9999;\n",
       "  position: relative;\n",
       "  font-weight: normal;\n",
       "  right: .2ex;\n",
       "  padding: .5ex;\n",
       "  margin: .5ex;\n",
       "  width: min-content;\n",
       "  min-width: 20ex;\n",
       "  max-width: 50ex;\n",
       "  color: var(--sklearn-color-text);\n",
       "  box-shadow: 2pt 2pt 4pt #999;\n",
       "  /* unfitted */\n",
       "  background: var(--sklearn-color-unfitted-level-0);\n",
       "  border: .5pt solid var(--sklearn-color-unfitted-level-3);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link.fitted span {\n",
       "  /* fitted */\n",
       "  background: var(--sklearn-color-fitted-level-0);\n",
       "  border: var(--sklearn-color-fitted-level-3);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link:hover span {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       "/* \"?\"-specific style due to the `<a>` HTML tag */\n",
       "\n",
       "#sk-container-id-2 a.estimator_doc_link {\n",
       "  float: right;\n",
       "  font-size: 1rem;\n",
       "  line-height: 1em;\n",
       "  font-family: monospace;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  border-radius: 1rem;\n",
       "  height: 1rem;\n",
       "  width: 1rem;\n",
       "  text-decoration: none;\n",
       "  /* unfitted */\n",
       "  color: var(--sklearn-color-unfitted-level-1);\n",
       "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 a.estimator_doc_link.fitted {\n",
       "  /* fitted */\n",
       "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-fitted-level-1);\n",
       "}\n",
       "\n",
       "/* On hover */\n",
       "#sk-container-id-2 a.estimator_doc_link:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 a.estimator_doc_link.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-3);\n",
       "}\n",
       "</style><div id=\"sk-container-id-2\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>LinearSVC(C=0.01)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-2\" type=\"checkbox\" checked><label for=\"sk-estimator-id-2\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">&nbsp;&nbsp;LinearSVC<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.5/modules/generated/sklearn.svm.LinearSVC.html\">?<span>Documentation for LinearSVC</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>LinearSVC(C=0.01)</pre></div> </div></div></div></div>"
      ],
      "text/plain": [
       "LinearSVC(C=0.01)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\"\"\"C传一个小一些的值\"\"\"\n",
    "svc2=LinearSVC(C=0.01)\n",
    "svc2.fit(x_std,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiYAAAGiCAYAAADTBw0VAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAxLElEQVR4nO3df5BU1Z338c/tGaYZlOkZZEAJP0Qk7rqJzMLGBEOZGReI1lYiqeDDZokZXcsKFljrQm0JqU2If6RY18SEh1DCVnaBJ6vlKBShVisRymWwqI3GSMCEBAvYJCAsAgv0IELPj77PH8MM83u6b9977rn3vl9VXcX03Oace5ppvnPOvefjuK7rCgAAwAKpsDsAAADQhcIEAABYg8IEAABYg8IEAABYg8IEAABYg8IEAABYg8IEAABYg8IEAABYg8IEAABYg8IEAABYI9DC5LnnntMdd9yhqqoqVVVVafbs2frpT38aZJMAACDCnCCzcv7jP/5DZWVlmj59ulzX1ZYtW/TMM8/oV7/6lf7sz/4sqGYBAEBEBVqYDGTMmDF65pln9Mgjj5hsFgAAREC5qYY6Ojr08ssv69KlS5o9e/aAx+RyOeVyue6v8/m8zp07pxtuuEGO45jqKgAAKIHrurp48aImTJigVKrIq0bcgL377rvudddd55aVlbmZTMZ99dVXBz129erVriQePHjw4MGDRwwex48fL7puCHwpp7W1VceOHVM2m9XWrVv1ox/9SHv27NHtt9/e79i+MybZbFaTJ0/Wb55+WqNHjgyymwAAJFr1/ynTc79b5MvfdeXSRX37C7fowoULymQyRb028KWciooK3XrrrZKkWbNm6e2339batWu1cePGfsem02ml0+l+z48eOVJVlZVBdxUAgETaUtcoHZdGXu/v3+vlMgzj+5jk8/lesyIAACA8W+oaw+5CL4HOmKxatUr33XefJk+erIsXL+qFF15Qc3OzXnvttSCbBQAAw6heXKa1B78adjf6CbQwOX36tL72ta/pf/7nf5TJZHTHHXfotdde07x584JsFgAADGFLXaN0MOxeDCzQwuRf//Vfg/zrAQBAkWxbuumLrBwAABKienFZ2F0YlrEN1gAAQHhsXr7piRkTAABirHpxmfXLNz1RmAAAEFO23nkzFJZyACRHPq/yw4flZLNyMxm1T58uFZvjAUREVJZu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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#绘制svc2决策边界,C小，容错率变大\n",
    "plot_decision_boundary(svc2,axis=[-3,3,-3,3])\n",
    "plt.scatter(x_std[y==0,0],x_std[y==0,1],color=\"red\")\n",
    "plt.scatter(x_std[y==1,0],x_std[y==1,1],color=\"blue\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 4.03251658, -2.50704823]])"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svc.coef_#因为有两个特征，一个特征对应一个系数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.92736842])"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svc.intercept_#截距"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib\n",
    "\"\"\"绘制决策边界的函数\"\"\"\n",
    "def plot_svm_decision_boundary(model, axis):\n",
    "    x0, x1 = np.meshgrid(\n",
    "        np.linspace(axis[0], axis[1], int((axis[1]-axis[0])*100)).reshape(-1, 1),\n",
    "        np.linspace(axis[2], axis[3], int((axis[3]-axis[2])*100)).reshape(-1, 1)\n",
    "    )\n",
    "    X_new = np.c_[x0.ravel(), x1.ravel()]\n",
    "    y_predict = model.predict(X_new)\n",
    "    zz = y_predict.reshape(x0.shape)\n",
    "\n",
    "    from matplotlib.colors import ListedColormap\n",
    "    custom_cmap = ListedColormap(['#EF9A9A', '#FFF59D', '#90CAF9'])\n",
    "\n",
    "    plt.contourf(x0, x1, zz, cmap=custom_cmap)\n",
    "\n",
    "    w=model.coef_[0]\n",
    "    b=model.intercept_[0]\n",
    "    \n",
    "    #w0*x0+w1*x1+b=0\n",
    "    #=>x1=-w0/w1*x0-b/w1  给1个x0,就能绘制出1个x1\n",
    "    plot_x=np.linspace(axis[0],axis[1],200)\n",
    "    up_y=-w[0]/w[1]*plot_x-b/w[1]+1/w[1]\n",
    "    down_y=-w[0]/w[1]*plot_x-b/w[1]-1/w[1]\n",
    "\n",
    "    up_index=(up_y>=axis[2])&(up_y<=axis[3])#限制范围\n",
    "    down_index=(down_y>=axis[2])&(down_y<=axis[3])#限制范围\n",
    "    \"\"\"除了绘制决策边界，绘制margin上下两根线\"\"\"\n",
    "    plt.plot(plot_x[up_index],up_y[up_index],color=\"black\")\n",
    "    plt.plot(plot_x[down_index],down_y[down_index],color=\"black\")\n",
    "\n",
    "     "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#绘制出svm的最近的两边线条\n",
    "plot_svm_decision_boundary(svc,axis=[-3,3,-3,3])\n",
    "plt.scatter(x_std[y==0,0],x_std[y==0,1],color=\"red\")\n",
    "plt.scatter(x_std[y==1,0],x_std[y==1,1],color=\"blue\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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RERsrsiJSfny5SlfvrxbjblcLoAzpmtERERE8nhtV863337L999/T7NmzYiJiWHbtm0899xz1KlTp9CjJWFhYQwbNoywMBUaKy71peeoLz1D/eg56kvPUV96RnH60WuLX3/66Scee+wxNm7cSFpaGpUrV6ZNmzY8++yzXHSRyqyLiIjIuUzbLiwiIiJyIV49+VVERESkKJSYiIiIiM9QYiIiIiI+Q4mJiIiI+Ay/SkzuueceqlevTnh4OJUrV6Z79+7s2bPH6rD8yt9//03v3r2pVasWERER1KlTh2HDhpGVlWV1aH5p+PDhNG3alBIlShT52OVAN27cOGrWrEl4eDjXX3893333ndUh+Z01a9Zw9913U6VKFRwOB++//77VIfmlESNGcN1111G6dGkqVKhAu3bt+P33360Oyy8lJiZSr149IiMjiYyMpEmTJixbtqxIr+FXiUmLFi2YP38+v//+O4sWLWLbtm106NDB6rD8yubNm3G5XEycOJFffvmFN998kwkTJvD0009bHZpfysrKomPHjiQkJFgdil+ZN28e/fv3Z9iwYaxfv5769etz++23c+DAAatD8ytpaWnUr1+fcePGWR2KX1u9ejX9+vXjm2++YcWKFWRnZ9O6dWvS0tKsDs3vVK1alVdffZV169bxww8/cOutt9K2bVt++eWXwr+I4ceWLFliOBwOIysry+pQ/NqoUaOMWrVqWR2GX0tKSjKioqKsDsNvNG7c2OjXr9+pz3Nzc40qVaoYI0aMsDAq/wYYixcvtjoMWzhw4IABGKtXr7Y6FFuIiYkxJk+eXOjr/WrE5HRHjhxh9uzZNG3alJCQEKvD8WspKSmUKVPG6jAkQGRlZbFu3Tpatmx56mtOp5OWLVvy9ddfWxiZyEkpKSkAel8sptzcXObOnUtaWlqR6uP5XWIyaNAgSpYsSdmyZdmxYwdLliyxOiS/tnXrVsaOHUvfvn2tDkUCxKFDh8jNzaVixYpnfL1ixYrs27fPoqhETnK5XDz++OPceOONXHXVVVaH45d++uknSpUqRVhYGPHx8SxevJgrrrii0PdbnpgMHjwYh8Nx3o/Nmzefuv6pp57ixx9/ZPny5QQFBdGjRw8MHV5b5H4E2L17N23atKFjx4706dPHosh9jzt9KSL20K9fP37++Wfmzp1rdSh+69JLL2XDhg18++23JCQkEBsby6+//lro+y0/kv7gwYMcPnz4vNfUrl2b0NDQc76+a9cuqlWrxldffVWkYSI7Kmo/7tmzh+bNm3PDDTcwbdo0nE7Lc1Sf4c7P5LRp03j88cdJTk72cnT+LysrixIlSrBw4ULatWt36uuxsbEkJydrFNRNDoeDxYsXn9GnUjQPP/wwS5YsYc2aNdSqVcvqcGyjZcuW1KlTh4kTJxbqeq9VFy6s8uXLU758ebfudblcAGRmZnoyJL9UlH7cvXs3LVq0oFGjRiQlJSkpOUtxfiblwkJDQ2nUqBGfffbZqX9EXS4Xn332GQ8//LC1wUlAMgyDRx55hMWLF7Nq1SolJR7mcrmK9O+05YlJYX377bd8//33NGvWjJiYGLZt28Zzzz1HnTp1An60pCh2795N8+bNqVGjBq+//joHDx489d8qVapkYWT+aceOHRw5coQdO3aQm5vLhg0bALj44ospVaqUtcH5sP79+xMbG8u1115L48aNeeutt0hLS6Nnz55Wh+ZXjh8/ztatW099/tdff7FhwwbKlClD9erVLYzMv/Tr1485c+awZMkSSpcufWqtU1RUFBERERZH51+GDBnCHXfcQfXq1Tl27Bhz5sxh1apVfPrpp4V/ES/tDvK4TZs2GS1atDDKlCljhIWFGTVr1jTi4+ONXbt2WR2aX0lKSjKAfD+k6GJjY/Pty5UrV1odms8bO3asUb16dSM0NNRo3Lix8c0331gdkt9ZuXJlvj9/sbGxVofmVwp6T0xKSrI6NL/Tq1cvo0aNGkZoaKhRvnx547bbbjOWL19epNewfI2JiIiISB4tLhARERGfocREREREfIYSExEREfEZSkxERETEZygxEREREZ+hxERERER8hhITERER8RlKTERERMRnKDERERERn6HERERERHyGEhMRERHxGf8PLdDQdQkOeeoAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\"\"\"容错率变大的情况\"\"\"\n",
    "#绘制svc2容错率变大\n",
    "plot_svm_decision_boundary(svc2,axis=[-3,3,-3,3])\n",
    "plt.scatter(x_std[y==0,0],x_std[y==0,1],color=\"red\")\n",
    "plt.scatter(x_std[y==1,0],x_std[y==1,1],color=\"blue\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
